<?php
	defined('RUN') or die('No access');

	class WebminController
	{
		public function index()
		{
			$data = Model::get('website')->getLayoutData();
			$fields='`id`,`name`';
			$data['listpost'] = Model::get('product')->getProductMem($fields, $_SESSION['member']['id']);
			if (Session::getFlash('notification'))
			{
				$data['notification']=Session::getFlash('notification');
			}
			$data['title'] = "Quản trị bài viết";
			$data['description'] = "Quản trị bài viết";
			$data['keywords'] = "Quản trị bài viết";
			$data['content_file'] = 'webmin/index.tpl';
			View::load('layout.tpl', $data, $data['temp']);
		}
		public function update($id)
		{
			$data = Model::get('website')->getLayoutData();
			$data['category'] = Model::get('product_category')->getCategoriesAll();
			$data['product'] = Model::get('product')->getById($id);
			$data['captcha'] = Captcha::getCaptcha();
			//excute
			if (Input::post('action') == 'update' && Security::checkToken('token_form', Input::post('token'))){
				if(Captcha::checkCaptcha(Input::post('txtCode'))){
					Upload::setDestDir('uploads' . DS . 'products');
					Upload::setFileField('images');
					$images = Upload::uploadFile();
					if($images=='')
						$images=$data['product']['images'];
					else{
						unlink('.'.$data['product']['images']);	
					}
					$birth=explode("/",Input::post('txtDateSt'));
					$date_start=$birth[2].'-'.$birth[0].'-'.$birth[1];
					
					$birth=explode("/",Input::post('txtDateEn'));
					$date_end=$birth[2].'-'.$birth[0].'-'.$birth[1];
					if (Validator::checkRequired(Input::post(), array('txtName')))
					{
						$data = array(
							'name' 			=> strip_tags(Input::post('txtName')),
							'keywords' 		=> strip_tags(Input::post('txtKeys')),
							'description' 	=> strip_tags(Input::post('txtDesc')),
							'category'    	=> Input::post('slcCategory'),
							'content_short'	=> strip_tags(Input::post('txtShort')),
							'content' 		=> Input::post('txtContent'),
							'images' 		=> $images,
							'price' 		=> (int)(Input::post('txtPrice')),
							'per' 	        => (int)(Input::post('txtPer')),
							'date_start' 	=> $date_start,
							'date_end' 	    => $date_end,
							'updated'    	=> date('Y-m-d h:m:s'),
							'company' 		=> strip_tags(Input::post('txtCompany')),
							'address' 		=> strip_tags(Input::post('txtAddress')),
							'phone' 		=> strip_tags(Input::post('txtPhone')),					
						);
						if (Model::get('product')->update($data, $id))
						{
							Session::setFlash('notification', array('type' => 'green', 'msg' => 'Chỉnh sửa thành công !'));
							Url::redirect('webmin');
						}else{
							Session::setFlash('notification', array('type' => 'red', 'msg' => 'Chỉnh sửa không thành công !'));
							Url::redirect('webmin');
						}
					}
	
					$data['failed'] = TRUE;
				}else{
					Session::setFlash('notification', array('type' => 'red', 'msg' => 'Sai mã xác nhận !'));
					Url::redirect('webmin');
				}
			}
			$data['action'] = "update";
			$data['title'] = "Quản trị bài viết";
			$data['description'] = "Quản trị bài viết";
			$data['keywords'] = "Quản trị bài viết";
			$data['content_file'] = 'webmin/form.tpl';
			View::load('layout.tpl', $data, $data['temp']);
		}
		public function add()
		{
			$data = Model::get('website')->getLayoutData();
			$data['category'] = Model::get('product_category')->getCategoriesAll();
			$data['captcha'] = Captcha::getCaptcha();
			//excute
			if (Input::post('action') == 'add' && Security::checkToken('token_form', Input::post('token'))){
				if(Captcha::checkCaptcha(Input::post('txtCode'))){
					Upload::setDestDir('uploads' . DS . 'products');
					Upload::setFileField('images');
					$images = Upload::uploadFile();
					$birth=explode("/",Input::post('txtDateSt'));
					$date_start=$birth[2].'-'.$birth[0].'-'.$birth[1];
					
					$birth=explode("/",Input::post('txtDateEn'));
					$date_end=$birth[2].'-'.$birth[0].'-'.$birth[1];
					if (Validator::checkRequired(Input::post(), array('txtName')))
					{
						$data = array(
							'name' 			=> strip_tags(Input::post('txtName')),
							'keywords' 		=> strip_tags(Input::post('txtKeys')),
							'description' 	=> strip_tags(Input::post('txtDesc')),
							'category'    	=> Input::post('slcCategory'),
							'content_short'	=> strip_tags(Input::post('txtShort')),
							'content' 		=> Input::post('txtContent'),
							'images' 		=> $images,
							'price' 		=> (int)(Input::post('txtPrice')),
							'per' 	        => (int)(Input::post('txtPer')),
							'date_start' 	=> $date_start,
							'date_end' 	    => $date_end,
							'updated'    	=> date('Y-m-d h:m:s'),
							'company' 		=> strip_tags(Input::post('txtCompany')),
							'address' 		=> strip_tags(Input::post('txtAddress')),
							'phone' 		=> strip_tags(Input::post('txtPhone')),	
							'member_id' 	=> $_SESSION['member']['id'],					
						);
						if (Model::get('product')->add($data))
						{
							Session::setFlash('notification', array('type' => 'green', 'msg' => 'Thêm thành công !'));
							Url::redirect('webmin');
						}else{
							Session::setFlash('notification', array('type' => 'red', 'msg' => 'Thêm không thành công !'));
							Url::redirect('webmin');
						}
					}
	
					$data['failed'] = TRUE;
				}else{
					Session::setFlash('notification', array('type' => 'red', 'msg' => 'Sai mã xác nhận !'));
					Url::redirect('webmin');
				}
			}
			$data['action'] = "add";
			$data['title'] = "Quản trị bài viết";
			$data['description'] = "Quản trị bài viết";
			$data['keywords'] = "Quản trị bài viết";
			$data['content_file'] = 'webmin/form.tpl';
			View::load('layout.tpl', $data, $data['temp']);
		}
		public function delete($id)
		{
			$data = Model::get('website')->getLayoutData();
			$fields='`id`,`images`';
			$images = Model::get('product')->getById($id,$fields);
			if($images['images'] != ''){
				if(unlink('.'.$images['images']) && Model::get('product')->delete($id)){
					Url::redirect('webmin');
				}
			}else{
				if(Model::get('product')->delete($id)){
					Url::redirect('webmin');
				}
			}
		}
        
        public function top($id)
		{
			$data = Model::get('website')->getLayoutData();
			$fields='`id`,`name`,`category`';
			$data['product'] = Model::get('product')->getById($id);  
            $category = Model::get('product_category')->getById($data['product']['category'],"name");
            $temp =  $data['product']['pay'];
            
            if (Input::post('action') == 'top' && Security::checkToken('token_form', Input::post('token'))){    			
    			$birth = explode("/",Input::post('end'));
    			$end = $birth[2].'-'.$birth[0].'-'.$birth[1];
                
                if (Validator::checkRequired(Input::post(), array('pay'))){
                    
                    $pay = (int)(Input::post('pay'));
    				$data = array(
    					'pay' 		=> $pay,
    					'start' 	=> date('Y-m-d'),
    					'end' 	    => $end				
    				);
                    
                    $sodu = 0;
                    $sodu = $temp-$pay;
                    
                    $member = Model::get('member')->getById($_SESSION['member']['id'],'`pay`');
                    if($member['pay']>$pay){
                        $post = array(
    						'pay' 	=> $member['pay'] - abs($sodu),
    					);
                        
        				if (Model::get('product')->update($data, $id) && Model::get('member')->update($post, $_SESSION['member']['id']))
        				{
        					Session::setFlash('notification', array('type' => 'green', 'msg' => 'Chỉnh sửa thành công !'));
        					Url::redirect('webmin/top/'.$id);
        				}else{
        					Session::setFlash('notification', array('type' => 'red', 'msg' => 'Chỉnh sửa không thành công !'));
        					Url::redirect('webmin/top/'.$id);
        				}
                    }else{
                        Session::setFlash('notification', array('type' => 'green', 'msg' => 'Chỉnh sửa thành công !'));
       					Url::redirect('webmin/top/'.$id);
                    }
    			}
            }
 
            $data['list'] = Model::get('product')->getProductList($data['product']['category']);
			
            $data['action'] = "top";
			$data['title'] = "Đăng top ".$category['name'];
			$data['description'] = "Đăng top ".$category['name'];
			$data['keywords'] = "Đăng top ".$category['name'];
			$data['content_file'] = 'webmin/top.tpl';
			View::load('layout.tpl', $data, $data['temp']);
		}
    }
